#ifndef _graph_h
#define _graph_h

#include "genlib.h"
#include "strlib.h"
#include "simpio.h"

/* Graph struct */
typedef struct matrixCDT *matrixADT;

typedef struct {
	int to;
	int from;
	int cost;
} nodeT;

struct matrixCDT {
	int size;
	int size_y; // used for Knapsack only...
	int **nodes;
};

matrixADT NewGraph(int size_x, int size_y);
matrixADT loadGraph(string fileName);
void printGraph(matrixADT graph);
void printGraphData(matrixADT graph, string algorithm);

#endif